home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 3292 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.3 KB

  1. Path: Rezonet.net!news
  2. From: ray@ultimate-tech.com (Ray Dunn)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: quick decision: is n a power of 2?
  5. Date: 25 Jan 1996 16:24:50 GMT
  6. Organization: Ultimate Technographics Inc.
  7. Message-ID: <4e8asi$ehg@ns.RezoNet.NET>
  8. References: <Pine.OSF.3.91.960119114608.18779E-100000@io.UWinnipeg.ca> <4e1aeb$1gl8@cymbal.aix.calpoly.edu> <822516891snz@genesis.demon.co.uk>
  9. NNTP-Posting-Host: 204.19.230.7
  10. Mime-Version: 1.0
  11. Content-Type: Text/Plain; charset=US-ASCII
  12. X-Newsreader: WinVN 0.99.7
  13.  
  14. In referenced article, Lawrence Kirby says...
  15. >>int is_power_of_two(int k) {       /* 1.0  1.0  1.0  1.0 */
  16. >>   if (k <= 0) return 0;
  17. >>   return (!(k & (k-1)));
  18. >>}
  19. >>
  20. >>int is_power_of_two(int k) {       /*  1.1  1.0  1.1  1.0 */
  21. >>   if (k <= 0) return 0;
  22. >>   return ((k & (k-1))  == 0);
  23. >>}
  24. >
  25. >I wouldn't be too impressed these days with a compiler that generates 
  26. >less efficient code for ((k & (k-1) == 0) than (!(k & (k-1))
  27.  
  28. Yes, that was my reaction too, but looking at it, the differences are 
  29. in the noise level for this sort of timing which usually varies quite a 
  30. bit - especially when using a test that only runs for 1 second.
  31. -- 
  32. Ray Dunn (opinions are my own) | Phone: (514) 938 9050
  33. Montreal                       | Phax : (514) 938 5225
  34. ray@ultimate-tech.com          | Home : (514) 630 3749
  35.  
  36.